# 1、创建环境
from pyspark.context import SparkContext

sc = SparkContext(master='local', appName='demo2_map')

# 2、读取数据
students_rdd = sc.textFile("../../data/students.txt")

# 取出班级和年龄
kv_rdd = students_rdd.map(lambda student: (student.split(",")[-1], int(student.split(",")[2])))

# 全局排序,效率低,需要将数据拉取到同一个分区中进行排序

# sortByKey: 按照key进行排序
sort_by_key_rdd = kv_rdd.sortByKey(ascending=True)

sort_by_key_rdd.foreach(print)

# sortBy: 选择一个字段进行排序
kv_rdd.sortBy(lambda kv: kv[1]).foreach(print)
